from typing import TypedDict, Annotated, Optional

from langchain_core.messages import AnyMessage
from langgraph.graph import add_messages


class AnalysisState(TypedDict):
    analysis_messages: Annotated[list[AnyMessage], add_messages]
    analysis_model: Optional[str]